﻿using System;
using System.Threading.Tasks;
using Volo.Abp;
using Volo.Abp.Application.Services;
using YaAppoint.Response;

namespace YaAppoint.PrintTemplates
{
    /// <summary>
    /// 打印模板服务接口
    /// </summary>
    [RemoteService(isEnabled: false)]
    public interface IPrintTemplateAppService:IApplicationService
    {
        Task<BackJson> LoadTemplateList(Guid depId, Guid deviceTypeId,string filterName,PrintType? filterPrintType);

        Task<BackJson> CreateSubmit(CreatePrintTemplateDto dto);

        Task<BackJson> EditSubmit(PrintTemplateDto dto);

        Task<BackJson> DeleteTemplate(Guid id);

        Task<BackJson> LoadDetail(Guid id);

        /// <summary>
        /// 获取模板绑定字段数据
        /// </summary>
        /// <param name="tempaltId"></param>
        /// <returns></returns>
        Task<BackJson> GetTemplateFields(Guid templateId);

        /// <summary>
        /// 加载模板类型
        /// </summary>
        BackJson GetPrintTypeOptions();

        /// <summary>
        /// 保存模板结构
        /// </summary>
        Task<BackJson> SaveSchema(SaveSchemaDto dto);
    }
}
